{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 1. 数学模型\n",
    "\n",
    "三天打鱼两天晒网周期为5"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 2. 代码实现"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "def 闰年(年份):\n",
    "    if any([\n",
    "        all([\n",
    "            年份 % 4 == 0,\n",
    "            年份 % 100 != 0,\n",
    "        ]),\n",
    "        年份 % 400 == 0,\n",
    "    ]):\n",
    "        return True \n",
    "    else:\n",
    "        return False\n",
    "\n",
    "每月天数 = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]\n",
    "\n",
    "def 计数(年, 月, 日):\n",
    "    累计天数 = 0\n",
    "    for 年份 in range(1990, 年):\n",
    "        if 闰年(年份):\n",
    "            累计天数 += 366\n",
    "        else:\n",
    "            累计天数 += 365\n",
    "\n",
    "    for 月份 in range(1, 月):\n",
    "        累计天数 += 每月天数[月份]\n",
    "\n",
    "    if 闰年(年) and 月份 >= 3:\n",
    "        累计天数 += 1\n",
    "\n",
    "    累计天数 += 日 \n",
    "    return 累计天数 \n",
    "\n",
    "\n",
    "def 判断(年, 月, 日):\n",
    "    累计天数 = 计数(年, 月, 日)\n",
    "    周期天数 = 累计天数 % 5\n",
    "    if 周期天数 in [1, 2, 3]:\n",
    "        状态 = '打鱼'\n",
    "    else:\n",
    "        状态 = '晒网'\n",
    "    return f'第 {累计天数} 天, 今天 {状态}'"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'第 8334 天, 今天 晒网'"
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "判断(2012,10,25)"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "venv",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.11.2"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
